# 导入django邮件发送模块
from django.core.mail import send_mail
# 导入日志模块
import logging
# 导入celery配置的应用实例

# 获取当前模块的日志记录器，用于记录邮件发送的相关日志
from celery_tasks.celery_main import app

logger = logging.getLogger(__name__)


# 使用celery应用实例装饰器定义异步任务
@app.task(name='send_mail_task')
def send_mail_task(email, html_message):
    """

    :param email: 收件人邮箱账户
    :param html_message: 邮件内容支持html格式
    :return:
    """
    try:
        res_email = send_mail(
            subject="HAOKE商场购物信息",  # 邮件主题
            message='',  # 纯文本邮件内容
            html_message=html_message,  # html格式邮件内容
            from_email=None,  # 发件人邮箱 设置为none使用django配置中默认发件人
            recipient_list=[email]  # 收件人列表 设置为单个收件人

        )
    except Exception as e:
        logger.error(f'邮件发送异常[email:{email},message:{e}]')
    else:
        if res_email:
            logger.info(f"邮件发送成功[email:{email}]")
        else:
            logger.warning(f"邮件发送失败[email:{email}]")
